1. Field of the Invention
This invention relates to the storage and processing of digital data, and particularly, though not exclusively, to the storage and processing of encryption and decryption keys associated with program identifications in a packet-based digital video storage system using the well-known DES data encryption standard for encryption of the stored data.
2. Description of the Related Art
With the increasing speed and capacity of hard disk drives and the increasing effectiveness of data compression schemes, it has become possible to contemplate the real-time storage of digital video signals at broadcast television standards. When the television signal to be stored is derived from a conditional-access (or subscription) channel, it is desired that the signal will automatically be encrypted when it is written to the disk to reduce the likelihood of it being copied and made available to non-subscription payers. One proposal is to encrypt the signal using the DES standard operating with 56 bit keys. In fact the DES standard specifies a 56-bit key with 8 parity bits, giving 64 bits in all.
The video signal in digital form is provided in packetized format. Each packet will typically consist of a header containing a number of framing bits, an information section containing specified information, and a payload containing a portion of the signal itself. The information section includes a program identification (PID) as part of its contents. This identifies the program being transmitted, or a portion of it, as there, in fact, may be several PIDs used in a single program. The PID is used, amongst other things, to select which of a plurality of predetermined DES keys are used in the DES encryption process in order to encrypt the data for storage on the hard disk. The header is recorded on the hard disk unencrypted. On replay, the PID in the header is again used to determine which keys are required for the decryption operation. For convenience the word “cryption” will be used to refer to either the encryption operation or the decryption operation, as the case may be.
Unfortunately, many different standards exist for the detailed format of the packet structure. One packet format used is DVB (digital video broadcasting), and another is DSS (direct satellite system) transport stream. In DVB transport streams, the packet length is 188 bytes (1504 bits). The packet header is 4 bytes long, consisting of a framing sequence that is 8 bits (or one byte) long, and an information section that is 24 bits (or 3 bytes) long. The PID is 12 bits long and is located in bits 11 to 22 of the packet header. For more information concerning the packet format in the DVB scheme, reference may be made ISO/IEC-13818.
DSS transport stream packets are 130 bytes long with a two-byte packet header. DSS transport streams are a proprietary DirecTV format. Both DVB and DSS streams can be demultiplexed to give a PES (packetized elementary stream). In this the packets and headers may be of variable length and format. The PES equivalent of a PID is usually located in bits 13 to 20 of the packet header.
For more information concerning the packet format in the PES scheme, reference may be made to ISO/IEC-13818.
In each case, in order to determine the keys to be used in the DES cryption operation, a two-fold operation is required. As a first step, the PID must be identified from the header. The PID will be located in one of three different places, depending upon whether the data comprises DVB or DSS transport packets or PES packets. A different search scheme for locating the PID is therefore required depending on which of the three packet types is being used. The second step in the operation is then to search a table which contains all the allowable PIDs and associated with each of them the appropriate DES cryption keys. In this way the required keys are obtained.